/* 
 * Created on 17. September 2008, 22:39
 *
 *      Copyright 2008 Oliver Eichner <o.eichner@gmail.com>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 3 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */

/**
 * @file DeviceDetailDialog.h
 * Device Details Dialog header
 */

#ifndef _DEVICEDETAILDIALOG_H
#define	_DEVICEDETAILDIALOG_H

#include <gtkmm.h>
#include "Device.h"
#include <list>
#include "text.h"

/**
 * @class DeviceDetailDialog
 * Display the tableau-parm stats in a nice Dialog
 * @version 0.1
 * @author Oliver Eichner
 */
class DeviceDetailDialog : public Gtk::Dialog {

    /**
     * @class DeviceDetailDialog::Columns
     * The Columns for the DetailedTreeView
     */
    class Columns : public Gtk::TreeModel::ColumnRecord {
    public:

        Columns() {
            add(col_type);
            add(col_value);

        }

        ~Columns() {
        }

        Gtk::TreeModelColumn<Glib::ustring> col_type;
        Gtk::TreeModelColumn<Glib::ustring> col_value;

    };
public:
    DeviceDetailDialog(Device nDevice);
    virtual ~DeviceDetailDialog();


protected:

    enum ResponseType {
        response_Save,
        response_Print
    };

    Gtk::Frame dd_frame;

    Gtk::Label dd_label;
    Gtk::Image dd_Image;
    Gtk::HBox dd_HBox;
    Gtk::ScrolledWindow dd_ScrolledWindow;
    //treeview vars
    Gtk::TreeView dd_TreeView;
    Glib::RefPtr<Gtk::ListStore> dd_refListStore;

    Columns dd_Cols;
};


#endif	/* _DEVICEDETAILDIALOG_H */

